/* Funciones javascript dedicadas al sistema CCC */

//Funciones relacionadas con el area de texto para envío de mensajes
function areaMensaje(textArea, botonEnviar){

      //Funcion la cual enfoca el teclado en el textarea para escribir mensajes
      $(textArea).focus();
      //Funcion la cual permite enviar mensajes con shift + enter
      if (botonEnviar !== undefined)
      {
        $(textArea).keydown(function(e){
          if(e.keyCode === 13 && e.shiftKey){
              $(botonEnviar).click();
          }
        });
      };
}
//Funcion para refrescar, se debe colocar el parametro de url y el tiempo (no obligatorio)
function refrescar(div, url, tiempo){
    if(tiempo !== undefined){
        tiempo = tiempo * 1000;
        setInterval(function(){
            //location.replace(url);
            div.load(url, function(){
              document.title = $("p[id^=nombreUser]:last").text() + ": " + $("p[id^=msgUser]:last").text();
              $("a[id^=fav_]").unbind('click');
              $("a[id^=fav_]").click(guardarFavorito);
            });

        }, tiempo);
    }
    else{
        div.load(url, function(){
          document.title = $("p[id^=nombreUser]:last").text() + ": " + $("p[id^=msgUser]:last").text();
          $("a[id^=fav_]").unbind('click');
          $("a[id^=fav_]").click(guardarFavorito);
        });
    }
}
//Funcion para guardar en favoritos
function guardarFavorito(){
    var elemento = $(this);
    var idCompleto = elemento.prop("id");
    var id = idCompleto.split("_");
    elemento.unbind('click');
    $.ajax({
        async:false,
        url: '_favorito.php',
        data: { IDUsuario: $("#IDUsuario").val(), IDMensaje: id[1] },
        type: 'POST',
        dataType: 'JSON',
        beforeSend: function(){
            if (elemento.hasClass("glyphicon-plus")){
                elemento.html("<span>Guardando...</span>");
                elemento.prop('disabled', true);
            }
            else{
                elemento.html("<span>Eliminado...</span>");
                elemento.prop('disabled', true);
            }
        },
        success: function(data){
          if (data === 'Agregado'){
            elemento.html("");
            elemento.removeClass('btn-primary');
            elemento.addClass('btn-success');
            elemento.html("<span class='glyphicon glyphicon-ok'></span>");
            
          }else{
            elemento.unbind('mouseenter');
            elemento.unbind('mouseleave');
            elemento.removeClass();
            elemento.html("");
            elemento.addClass('btn btn-primary btn-xs');
            elemento.html("<span class='glyphicon glyphicon-plus'></span>");
          }
          tooltipFavoritos();
          refrescar($("#favorito"), "favorito.php");
          console.log(data);
        },
        error: function(){
          alert("error");
        }
    });
    
}

function tooltipFavoritos(){
    $('form[id^=agregar]').each(function(){
        if ($(this).children("a[id^=fav_]").hasClass('btn-primary'))
        {
            $(this).tooltip({
             'show': false,
                 'placement': 'left',
                 'title': "Agregar a Favoritos"
            });
        }
        else{
            $(this).tooltip({
             'show': false,
                 'placement': 'left',
                 'title': "Eliminar de Favoritos"
            });
            //mouseEliminar($(this));
            mouseEliminar($(this).children("a[id^=fav_]"));
        }
    });

}

function mouseEliminar(elemento)
{
        $(elemento).mouseenter(function(){
            $(elemento).removeClass('btn-success');
            $(elemento).addClass('btn-danger');
            $(elemento).html("<span class='glyphicon glyphicon-trash'></span>");
        });
        $(elemento).mouseleave(function(){
            $(elemento).removeClass('btn-danger');
            $(elemento).addClass('btn-success');
            $(elemento).html("<span class='glyphicon glyphicon-ok'></span>");
        });
}

function conteo(span){
    var x = 0;
    setInterval(function(){
        span.html("Conteo: " + x);
        x++;
    }, 1000);
}
